Epics Tools Enhancements and Transportability

نویسندگان

  • M. Bickley
  • J. Chen
  • C. Larrieu
  • Thomas Jefferson
چکیده

The Jefferson Laboratory electron accelerator is controlled by the Experimental Physics and Industrial Control System (EPICS), which was initially developed by the Los Alamos and Argonne National Laboratories, and which has since become an extensive collaboration among scientific institutions worldwide. In keeping with the spirit of cooperation and exchange fostered by the EPICS community, the Controls Software group at Jefferson Laboratory aims to produce portable software tools useful not only locally, but also at any EPICS site, and even at non-EPICS sites where feasible. To achieve this goal, the group practices several software engineering principles which have demonstrated success in producing sharable software. This paper first discusses those principles along with the practicalities involved in pursuing them, and then illustrates how they prevail within three different frameworks: the architecture and operating system (OS) portability provided by the EPICS environment, which assists in porting to other EPICS sites; the control system portability inherent in the Common Device (CDEV) abstraction layer, which facilitates porting to any supported control system; and the general system portability which follows from careful code design. 1 GENERAL CONSIDERATIONS Because a control system is, by intent, uniquely customized to perform site-specific tasks, designing control system software for effective use at various unrelated sites might seem, at first, to require an amount of work disproportionate to the rewards such an endeavor might garner: not only must the programmer attempting do so solve the immediate problem which necessitates his application, but he must also devise some technique for dealing with the differences which arise among sites. Furthermore, he must decide how portable his application really can and should be before beginning to work on it. Fortunately, these latter quandaries are substantially mitigated by the nature of the undertaking in question. It may be of a sort which is “algorithmically” portable from one site of a particular type, to another of the same type. Two particle accelerators, for example, might require software to measure and tune the phase of an RF cavity. While these sites may not use the same control system, the general solution to their common problem may be sufficiently parameterizable such that the same program could be used at both, if it were capable of controlling each system in the same generic way. Work supported by the U.S. Department of Energy, contract DEAC05-84ER40150 y Email: [email protected] Another type of inherently portable application is the sort which provides basic facilities closely tied to the system being controlled. Examples include data acquisition, logging, and retrieval systems, human interfaces for monitoring and managing the underlying physical system, and utilities for measuring and analyzing the system in a userspecified manner. Such tools are fairly useful in a general sense across control systems and physical machines, so that for every site to design its own set seems tantamount to “reinventing the wheel”. Ideally, the site-specific information should be configured via some localization method. Of course, there are good and bad reasons for one site to avoid reusing software from another. In order to create a general purpose tool which another site will want to use, the designer must in some way address both. Among the former category are considerations arising from concern over efficiency and compatibility. Does the application make assumptions about the underlying system such that it works well in one situation but not in another? If it generates output data, will it do so in a format which other tools can read? Notorious among the bad reasons is reluctance arising from the well-known “not developed here” syndrome, a psychological phenomenon pervasive in the engineering world. It derives, perhaps, from the fear of becoming dependent upon the work of someone whose interests may not necessarily coincide with one’s own. This leads to a consideration of those factors which might induce a developer to produce code specifically designed only for local use. The benefit of such an approach is that it may allow for a tight integration among the tools in a local suite: if an application can make assumptions about the existence of other facilities, it can incorporate their features, providing users with multiple points of entry to the various system tools. Additionally, designing for a known system allows for faster development –because the programmer knows exactly the environment in which his application will run, he can avoid having to handle certain special exceptions which might arise from one site to another. Furthermore, a small user base will likely limit requirements and feature creep. Note, however, that these assumptions about the environment imply that the benefits pertain only if the situation for which the application is written persists over time. What happens if something about it changes? What if one of the subsystems upon which the code depends is removed, or, more drastically, if the control system changes (not so preposterous: the CEBAF accelerator was switched from TACL[1] to EPICS during the commissioning of the machine in the mid ’90s). The programmer can ameliorate the problems arising from such occurrences by designing his application to be portable from the outset. Fundamentally, * 0-7803-5573-3/99/$10.00@1999 IEEE. 741 Proceedings of the 1999 Particle Accelerator Conference, New York, 1999

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reimplementing the Epics Static Database Access Library*

The Static Database Access library was first introduced in EPICS (Experimental Physics and Industrial Control System) Release 3.11 in 1994. It provides an application program interface (API) for database configuration tools written in C to manipulate database record definitions and is used for various tasks within the core EPICS software. This paper describes the structure of a replacement for ...

متن کامل

Constructing a Distributed Developing Environment Using Epics for Bepcii Control System

Probe: to debug database records. • Alarm handler ALH The current Beijing Electron Position Collider (BEPC) is going to be upgraded to reach a higher energy as 1.89 GeV and a luminosity of 1.0E33cms. A second storage ring will be installed in the same tunnel of BEPC. The control system of BEPCII will be constructed based on EPICS. During the past two years a basic prototype has been set up, inc...

متن کامل

Automatic Formal Verification for EPICS

We built an EPICS-based radiation therapy machine control program and are using it to treat patients at our hospital. To help ensure safety, the control program uses a restricted subset of EPICS constructs and programming techniques, and we developed several new automated formal verification tools for this subset. To check our control program, we built a Symbolic Interpeter that finds errors in...

متن کامل

Conversion of the TISOL Control System to EPICS

As part of the preparation for the ISAC radioactive beam facility at TRIUMF, the control system of the small on-line isotope separator TISOL was upgraded using the EPICS toolkit. This upgrade served several purposes: a) to train control personnel on EPICS, b) to familiarize future ISAC users with a prototype of the ISAC control system and c) get an early user feedback on the control system to t...

متن کامل

EPICS - Experimental Physics and Industrial Control System at GSI

EPICS (Experimental Physics and Industrial Control System) is a widely used scalable control system. At GSI the HADES group uses EPICS since its startup [1]. In order to build a GSI wide knowledge base on EPICS some other projects than HADES are started. For example FOPI is a nice target for different controls developments like the LabView based CS [2] and EPICS. For the FUTURE DAQ project of C...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999